--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
scripts/unify-backend-plain-files.sh f32008c63cc92208dcca22a20ce6b8f9430eafab (f32008c6) Text, 1.42 KB
T8b949e#!/usr/bin/env bash
T8b949e# Ensure non-binary files in the two per-arch cx_Freeze outputs are
T8b949e# byte-identical so @electron/universal's SHA check passes.
T8b949e#
T8b949e# Python bytecode (.pyc inside library.zip) is architecture-independent;
T8b949e# only timestamps and zip metadata differ between the arm64 and x64
T8b949e# builds. Native extensions (.dylib/.so) are Mach-O binaries and
T8b949e# handled separately by lipo, so they are excluded here.
Tffa657set -euo pipefail
Te6edf3ROOTTff7b72=Ta5d6ff"Tff7b72$(Tffa657cd Ta5d6ff"Tff7b72$(dirname Ta5d6ff"Te6edf3$0Ta5d6ff"Tff7b72)Ta5d6ff/..Ta5d6ff" Tff7b72&& Tffa657pwdTff7b72)Ta5d6ff"
Te6edf3ARM64_DIRTff7b72=Ta5d6ff"Te6edf3$ROOTTa5d6ff/build/exe/darwin-arm64Ta5d6ff"
Te6edf3X64_DIRTff7b72=Ta5d6ff"Te6edf3$ROOTTa5d6ff/build/exe/darwin-x64Ta5d6ff"
Tff7b72if Tff7b72[Tff7b72[ ! -d Ta5d6ff"Te6edf3$ARM64_DIRTa5d6ff" Tff7b72|| ! -d Ta5d6ff"Te6edf3$X64_DIRTa5d6ff" Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"unify-backend-plain-files: one or both backend dirs missing, skipping"
Tffa657exit T79c0ff0
Tff7b72fi
Te6edf3unifiedTff7b72=T79c0ff0
Tff7b72while Te6edf3IFSTff7b72= Tffa657read -r -d Ta5d6ff'' relTb4b4b4; Tff7b72do
Te6edf3arm64_fileTff7b72=Ta5d6ff"Te6edf3$ARM64_DIRTa5d6ff/Te6edf3$relTa5d6ff"
Te6edf3x64_fileTff7b72=Ta5d6ff"Te6edf3$X64_DIRTa5d6ff/Te6edf3$relTa5d6ff"
Tff7b72[Tff7b72[ -f Ta5d6ff"Te6edf3$x64_fileTa5d6ff" Tff7b72]Tff7b72] Tff7b72|| Tff7b72continue
Tff7b72if cmp -s Ta5d6ff"Te6edf3$arm64_fileTa5d6ff" Ta5d6ff"Te6edf3$x64_fileTa5d6ff"Tb4b4b4; Tff7b72then
Tff7b72continue
Tff7b72fi
Te6edf3filetypeTff7b72=Tff7b72$(file --brief --no-pad Ta5d6ff"Te6edf3$arm64_fileTa5d6ff" T79c0ff2>/dev/null Tff7b72|| Tffa657trueTff7b72)
Tff7b72if Tff7b72[Tff7b72[ Ta5d6ff"Te6edf3$filetypeTa5d6ff" Tff7b72=Tff7b72= Mach-O* Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
Tff7b72continue
Tff7b72fi
cp Ta5d6ff"Te6edf3$arm64_fileTa5d6ff" Ta5d6ff"Te6edf3$x64_fileTa5d6ff"
Tffa657echo Ta5d6ff"Ta5d6ff unified: Te6edf3$relTa5d6ff"
Te6edf3unifiedTff7b72=Tff7b72$((Te6edf3unified Tff7b72+ T79c0ff1Tff7b72))
Tff7b72done < <Tff7b72(Tffa657cd Ta5d6ff"Te6edf3$ARM64_DIRTa5d6ff" Tff7b72&& find . -type f -print0 Tb4b4b4| sed -z Ta5d6ff's|^\./||'Tff7b72)
Tff7b72if Tff7b72[Tff7b72[ Te6edf3$unified -gt T79c0ff0 Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6ffunify-backend-plain-files: copied Te6edf3$unifiedTa5d6ff file(s) from arm64 → x64Ta5d6ff"
Tff7b72else
Tffa657echo Ta5d6ff"unify-backend-plain-files: all non-binary files already identical"
Tff7b72fi
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────